package com.zyx.flink.realtime.func;

import com.alibaba.fastjson.JSONObject;

/**
 * @author zyx
 * @since 2021/6/11 19:50
 * desc: 维度关联接口
 */
public interface DimJoinFunction<T> {
    /**
     * 需要提供一个获取key的方法，但是这个方法如何实现不知道
     * @param obj 传入的对象
     * @return 获取的Key值
     */
    String getKey(T obj);

    /**
     * 流中的事实数据和查询出来的维度数据进行关联
     * @param obj 流中的数据
     * @param dimInfoJsonObj 查询的维度数据
     * @throws Exception 抛出的异常
     */
    void join(T obj, JSONObject dimInfoJsonObj) throws Exception;
}
